package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.OvertimeApplications;

/**
 * 加班Service接口
 */
public interface IOvertimeApplicationsService
{
    /**
     * 获取用户姓名
     */
    String getUserNameById(Long userId);

    /**
     * 获取本月加班统计
     */
    Map<String, Object> getMonthOvertimeStats(Long userId, Integer month, Integer year);

    /**
     * 查询加班
     */
    public OvertimeApplications selectOvertimeApplicationsById(Long id);

    /**
     * 查询加班列表
     */
    public List<OvertimeApplications> selectOvertimeApplicationsList(OvertimeApplications overtimeApplications);

    /**
     * 新增加班
     */
    public int insertOvertimeApplications(OvertimeApplications overtimeApplications);

    /**
     * 修改加班
     */
    public int updateOvertimeApplications(OvertimeApplications overtimeApplications);

    /**
     * 批量删除加班
     */
    public int deleteOvertimeApplicationsByIds(Long[] ids);

    /**
     * 删除加班信息
     */
    public int deleteOvertimeApplicationsById(Long id);

    /**
     * 查找审批人下拉框
     */
    List<SysUser> selectDeptManagersByUserId(Long userId);

    /**
     * 根据角色查询加班列表
     */
    List<OvertimeApplications> selectOvertimeApplicationsListByRole(OvertimeApplications overtimeApplications, Long currentUserId);
}